package ${package.Service};

import com.qsn.tool.modules.user.model.po.${entity}PO;
import com.qsn.tool.modules.user.model.dto.${entity}DTO;
import com.qsn.tool.modules.user.model.vo.${entity}PageVO;
import com.qsn.tool.modules.user.model.vo.${entity}ListVO;
import com.qsn.tool.modules.user.model.vo.${entity}InfoVO;
<#assign myDateType = ["LocalDateTime","LocalDate"]/>
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;


/**
 * ${table.comment!} 服务接口
 *
 * @author qsn_ats
 * @date ${date}
 */
<#if kotlin>
interface ${table.serviceName} : ${superServiceClass}<${entity}>
<#else>
public interface ${table.serviceName} extends ${superServiceClass}<${entity}PO> {

    /**
     * ${table.comment}分页
     *
     * @param pageQuery 分页参数
     * @param dto 查询条件
     * @return 分页信息
     * @author qsn_ats
     * @date ${date}
     */
    Page<${table.entityName}PageVO> listPage(Page<${table.entityName}PO> pageQuery, ${table.entityName}DTO dto);

    /**
     * ${table.comment}列表
     *
     * @param dto 查询条件
     * @return 列表信息
     * @author qsn_ats
     * @date ${date}
     */
    List<${table.entityName}DTO> list(${table.entityName}DTO dto);

    /**
     * ${table.comment}新增
     *
     * @param dto 新增信息
     * @author qsn_ats
     * @date ${date}
     */
    void insert(${table.entityName}DTO dto);

    /**
     * ${table.comment}修改
     *
     * @param dto 根据主键修改信息
     * @author qsn_ats
     * @date ${date}
     */
    void updateById(${table.entityName}DTO dto);

    /**
     * ${table.comment}详情
     *
     * @param id 主键
     * @return 根据主键获取的${table.comment}详情
     * @author qsn_ats
     * @date ${date}
     */
    ${table.entityName}DTO getById(Integer id);



    }
</#if>
